home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
19
/
window.zip
/
QWIK21.INC
< prev
next >
Wrap
Text File
|
1986-12-09
|
6KB
|
165 lines
{ Qwik21.inc - Complete Q screen utilities ver 2.1, 12-09-86 }
{ You MUST read MODIFICATIONS in QWIK21.DOC for any changes in this file! }
type str80=string[80];
var
Vmode: byte absolute $0040:$0049;
Page0seg,Qseg: integer;
MaxPage: byte;
CardWait,Qwait: boolean;
Function EGAcheck: Boolean;
begin
Inline( $B4/$12/$BB/$10/$FF/$CD/$10/$80/$EF/$FF/$74/$02/$B7/$01/$88/$7E/$04 );
end;
procedure Qinit;
begin
if Vmode=7 then
begin
Page0seg:=$B000; CardWait:=false; MaxPage:=0
end
else
begin
Page0seg:=$B800; CardWait:=true;
if (Vmode=0) or (Vmode=1) then MaxPage:=7 else MaxPage:=3
end;
if EGAcheck=true then
begin
MaxPage:=7; CardWait:=false
end;
Qseg:=Page0seg; Qwait:=CardWait
end;
{ ----------------------------- QWRITES MODULE ------------------------------ }
procedure QwriteLV (Row, Col: byte; Attr, Length: integer; VAR St);
begin
Inline( $8B/$4E/<LENGTH/$85/$C9/$7E/$18/$1E/$C5/$76/<ST/$FC/$AC/$88/$C4/$8B/$56
/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/$71/$00/$1F );
end;
procedure QwriteV (Row, Col: byte; Attr: integer; VAR St);
begin
Inline( $1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$0F/$8B/$56/<ROW/$8B/$7E
/<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/$45/$00/$1F );
end;
procedure Qwrite (Row, Col: byte; Attr: integer; St: Str80);
begin
Inline( $1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$12/$8B/$96
/>ROW/$8B/$BE/>COL/$4F/$D1/$E7/$8B/$9E/>ATTR/$E8/$11/$00/$1F );
end;
procedure QwritesDisp;
begin
Inline( $4A/$88/$E6/$31/$C0/$8E/$C0/$26/$A1/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88
/$DC/$88/$F0/$8E/$46/$FC/$26/$80/$3E/>QWAIT/$00/$26/$8E/$06/>QSEG/$75/$32/$84
/$FF/$78/$16/$41/$D1/$E9/$EB/$08/$AD/$88/$E7/$88/$DC/$AB/$88/$F8/$AB/$E2/$F5
/$73/$6C/$AC/$AB/$EB/$68/$41/$89/$CA/$D1/$E9/$EB/$05/$AD/$AA/$47/$88/$E0/$AA
/$47/$E2/$F7/$D1/$EA/$73/$54/$AC/$AA/$EB/$50/$BA/$DA/$03/$84/$FF/$78/$29/$88
/$DC/$EB/$01/$AC/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/$F8/$80/$F9/$90/$78/$B7
/$EB/$0B/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/$F8/$AB/$FB/$E2/$DF/$EB/$22
/$AC/$47/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/$F8/$80/$F9/$80/$78/$A9/$EB/$0B
/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/$F8/$AA/$FB/$E2/$DE/$FB/$C3 );
end;
procedure QwriteC (Row, ColL, ColR: byte; Attr: integer; St: Str80);
begin
Inline( $1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$1A/$8B/$96
/>ROW/$8B/$BE/>COLL/$03/$BE/>COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$9E/>ATTR
/$E8/$1E/$FF/$1F );
end;
procedure QwriteCV (Row, ColL, ColR: byte; Attr: integer; VAR St);
begin
Inline( $1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$16/$8B/$56/<ROW/$8B/$7E
/<COLL/$03/$7E/<COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$E8/$EB/$FE
/$1F );
end;
{ ------------------------------ QFILLS MODULE ------------------------------ }
procedure QfillC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer; Ch: char);
begin
Inline( $8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E
/<COLS/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$8A/$6E/<CH/$E8/$38/$00 );
end;
procedure Qfill (Row, Col, Rows, Cols: byte; Attr: integer; Ch: char);
begin
Inline( $8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$76/<ROWS/$8A/$4E/<COLS/$8B
/$5E/<ATTR/$8A/$6E/<CH/$E8/$10/$00 );
end;
procedure QfillsDisp;
begin
Inline( $48/$31/$D2/$8E/$C2/$26/$8B/$16/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88/$E8
/$30/$ED/$29/$CA/$D1/$E2/$52/$51/$85/$F6/$7E/$31/$85/$C9/$7E/$2D/$88/$DC/$FC
/$3A/$2E/>QWAIT/$8E/$06/>QSEG/$75/$29/$84/$FF/$78/$0E/$89/$CA/$F2/$AB/$4E/$74
/$15/$89/$D1/$03/$7E/$FA/$EB/$F4/$41/$89/$CA/$D1/$E9/$73/$02/$AA/$47/$AA/$47
/$E2/$FA/$4E/$7E/$58/$89/$D1/$03/$7E/$FA/$EB/$EC/$BA/$DA/$03/$88/$C3/$84/$FF
/$78/$27/$FA/$EC/$A8/$08/$74/$07/$88/$D8/$F2/$AB/$FB/$EB/$0F/$D0/$D8/$72/$F0
/$EC/$D0/$D8/$73/$FB/$88/$D8/$AB/$FB/$E2/$E4/$4E/$74/$29/$8B/$4E/$F8/$03/$7E
/$FA/$EB/$D9/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$88
/$D8/$AA/$FB/$47/$E2/$EA/$4E/$74/$08/$8B/$4E/$F8/$03/$7E/$FA/$EB/$DF/$81/$C4
/$04/$00/$C3 );
end;
procedure Qattr (Row, Col, Rows, Cols: byte; Attr: integer);
begin
Inline( $8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$47/$8B/$76/<ROWS/$8A/$4E/<COLS
/$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80/$E8/$26/$FF );
end;
procedure QattrC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer);
begin
Inline( $8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E
/<COLS/$29/$CF/$81/$CF/$01/$00/$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80
/$E8/$F2/$FE );
end;
{ --------------------------------------------------------------------------- }
procedure QstoreToMem (Row, Col, Rows, Cols: byte; VAR Dest);
begin
Inline( $8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$63/$85/$C9/$7E/$5F/$31/$D2/$8E
/$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C6/$03/$76/<COL/$4E
/$D1/$E6/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$C4/$7E/<DEST/$3A/$2E/>QWAIT/$8E/$1E
/>QSEG/$75/$0C/$F2/$A5/$4B/$74/$29/$8B/$4E/$FA/$01/$D6/$EB/$F4/$BA/$DA/$03
/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$AD/$FB/$AB/$E2
/$EC/$4B/$74/$08/$8B/$4E/$FA/$03/$76/$FC/$EB/$E1/$1F/$81/$C4/$04/$00 );
end;
procedure QstoreToScr (Row, Col, Rows, Cols: byte; VAR Source);
begin
Inline( $8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$68/$85/$C9/$7E/$64/$31/$D2/$8E
/$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C7/$03/$7E/<COL/$4F
/$D1/$E7/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$3A/$2E/>QWAIT/$8E/$06/>QSEG/$C5/$76
/<SOURCE/$75/$0C/$F2/$A5/$4B/$74/$2E/$8B/$4E/$FA/$01/$D7/$EB/$F4/$BA/$DA/$03
/$AD/$88/$C7/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$88
/$F8/$AB/$FB/$E2/$E8/$FE/$CB/$74/$08/$8B/$4E/$FA/$03/$7E/$FC/$EB/$DC/$1F/$81
/$C4/$04/$00 );
end;
procedure QviewPage (Page: byte);
begin
Inline( $8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$08/$84/$C0/$78/$04/$B4/$05/$CD
/$10);
end;
procedure QwritePage (Page: byte);
begin
Inline( $8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$18/$84/$C0/$78/$14/$31/$C9/$8E/$C1
/$26/$F7/$26/$4C/$04/$B1/$04/$D3/$E8/$03/$06/>PAGE0SEG/$A3/>QSEG );
end;
procedure GotoRC (Row, Col: Byte);
begin
Inline( $B4/$02/$31/$DB/$8E/$C3/$26/$8A/$3E/$62/$04/$8A/$76/<ROW/$FE/$CE/$8A
/$56/<COL/$FE/$CA/$CD/$10 );
end;
procedure CursorChange (New: integer; VAR Old: integer);
begin
Inline( $31/$C0/$8E/$C0/$26/$A1/$60/$04/$C4/$7E/<OLD/$AB/$B4/$01/$8B/$4E/<NEW
/$CD/$10 );
end;